package com.sc.nft.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sc.nft.enums.TradingPoolChangeOperationContentEnum;
import com.sc.nft.enums.TradingPoolChangeTypeEnum;
import com.sc.nft.sup.SuperEntity;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 交易池日志
 *
 * @TableName sc_trading_pool_change_log
 */
@TableName(value = "sc_trading_pool_change_log")
@Data
public class TradingPoolChangeLog extends SuperEntity implements Serializable {
    /**
     * 交易池配置 ID
     */
    @TableField(value = "trading_pool_config_id")
    private Long tradingPoolConfigId;

    /**
     * 记录时间
     */
    @TableField(value = "record_time")
    private Date recordTime;

    /**
     * dao_id 标记
     */
    @TableField(value = "dao_id")
    private Long daoId;

    /**
     * 操作内容
     */
    @TableField(value = "operation_content")
    private TradingPoolChangeOperationContentEnum operationContent;

    /**
     * 数量
     */
    @TableField(value = "quantity")
    private BigDecimal quantity;

    /**
     * 变化前
     */
    @TableField(value = "before_change")
    private BigDecimal beforeChange;

    /**
     * 变化后
     */
    @TableField(value = "after_change")
    private BigDecimal afterChange;

    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;

    /**
     * 类型，有补充记录、扣除记录、销毁记录
     */
    @TableField(value = "type")
    private TradingPoolChangeTypeEnum type;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}